The described aspects generally relate to wireless communications devices and computer networks. More particularly, the described aspects relate to verifying the integrity of the firmware of a wireless device, along with the collection, reporting and analysis of firmware-related information gathered from the wireless device.
Wireless networking connects one or more wireless devices to other computer devices without a direct electrical connection, such as a copper wire or optical cable. Wireless devices communicate data, typically in the form of packets, across a wireless or partially wireless computer network and open a “data” or “communication” channel on the network such that the device can send and receive data packets. The wireless devices often have wireless device resources, such as programs and hardware components, which individually and cooperatively operate to use and generate data in accordance to their design and specific protocol or configuration, such as using open communication connections to transmit and receive data on the network.
Further, these wireless devices contain firmware that comprises data and program code that enable the wireless device to operate. This data and program code is critical to the operation of the wireless device. For example, the data and program code may specify the protocol for the wireless device to use to communicate with the network, or the data and program code may specify the wireless network(s) with which the wireless device may operate.
In one aspect, the integrity of the firmware of a wireless device relates to whether the values in the firmware of a wireless device are the correct values for that version of the firmware. For example, a measure of firmware integrity may determine if the firmware has been corrupted, either unintentionally, such as by a bug in a program, or intentionally, such as by a computer virus or intentional manipulation. In another aspect, the integrity of the firmware of a wireless device relates to whether or not the version of the firmware is the current version for the wireless device. The version of firmware for a given wireless device may need to be updated or replaced on a periodic basis. Further, it is even possible that the wireless device has the wrong firmware installed, or that the firmware installed is not acceptable to a particular wireless network provider.
Many problems may occur if the integrity of the firmware of the wireless device is compromised. For example, the wireless device may not function or may interfere with the operation of the network by using incorrect communications protocols on the wireless network. In another example, changes in the firmware may allow the wireless device to be used for a different wireless network service provider than the one for which it was purchased. In this case, the original wireless network service provider may lose money if it subsidized the price of the wireless device based on the agreement that the wireless device would only be used on the original network service provider's network. Thus, changing the firmware so that the wireless device will operate with another wireless network service provider may violate the agreement signed by the owner of the wireless device.
Accordingly, it would be advantageous to provide an apparatus and method that allows for verification of firmware integrity on a wireless device.